Move main thread lock back to GDK - we need it there for locking when
authorOwen Taylor <otaylor@redhat.com>
Wed, 16 Dec 1998 20:09:30 +0000 (20:09 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Wed, 16 Dec 1998 20:09:30 +0000 (20:09 +0000)
Wed Dec 16 13:06:17 1998  Owen Taylor  <otaylor@redhat.com>

* gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main
thread lock back to GDK - we need it there for locking
when translating events. Rename things appropriately.

Wed Dec 16 11:44:21 1998  Owen Taylor  <otaylor@redhat.com>

* gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo.

CVS:

38 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/gdk.c
gdk/gdk.h
gdk/gdkevents.c
gdk/gdkglobals.c
gdk/x11/gdkevents-x11.c
gdk/x11/gdkglobals-x11.c
gdk/x11/gdkmain-x11.c
gtk/gtkaccellabel.c
gtk/gtkclist.c
gtk/gtkcolorsel.c
gtk/gtkcombo.c
gtk/gtkcontainer.c
gtk/gtkdnd.c
gtk/gtkentry.c
gtk/gtklayout.c
gtk/gtklist.c
gtk/gtkmain.c
gtk/gtkmain.h
gtk/gtkmenuitem.c
gtk/gtknotebook.c
gtk/gtkprivate.h
gtk/gtkrange.c
gtk/gtkselection.c
gtk/gtkspinbutton.c
gtk/gtkstyle.c
gtk/gtktext.c
gtk/gtkthemes.c
gtk/gtktooltips.c
gtk/gtkwidget.c
gtk/testthreads.c
tests/testthreads.c

index e291293023ae5573e7adb4e30894931450465139..03789eac78f38cccff36548d2a698ccc35c2aa7a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Wed Dec 16 13:06:17 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main
+       thread lock back to GDK - we need it there for locking
+       when translating events. Rename things appropriately.
+
+Wed Dec 16 11:44:21 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo.
+
 Wed Dec 16 10:20:27 CST 1998 Shawn T. Amundson <amundson@gtk.org>
 
        * Released GTK+ 1.1.8
index e291293023ae5573e7adb4e30894931450465139..03789eac78f38cccff36548d2a698ccc35c2aa7a 100644 (file)
@@ -1,3 +1,13 @@
+Wed Dec 16 13:06:17 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main
+       thread lock back to GDK - we need it there for locking
+       when translating events. Rename things appropriately.
+
+Wed Dec 16 11:44:21 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo.
+
 Wed Dec 16 10:20:27 CST 1998 Shawn T. Amundson <amundson@gtk.org>
 
        * Released GTK+ 1.1.8
index e291293023ae5573e7adb4e30894931450465139..03789eac78f38cccff36548d2a698ccc35c2aa7a 100644 (file)
@@ -1,3 +1,13 @@
+Wed Dec 16 13:06:17 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main
+       thread lock back to GDK - we need it there for locking
+       when translating events. Rename things appropriately.
+
+Wed Dec 16 11:44:21 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo.
+
 Wed Dec 16 10:20:27 CST 1998 Shawn T. Amundson <amundson@gtk.org>
 
        * Released GTK+ 1.1.8
index e291293023ae5573e7adb4e30894931450465139..03789eac78f38cccff36548d2a698ccc35c2aa7a 100644 (file)
@@ -1,3 +1,13 @@
+Wed Dec 16 13:06:17 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main
+       thread lock back to GDK - we need it there for locking
+       when translating events. Rename things appropriately.
+
+Wed Dec 16 11:44:21 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo.
+
 Wed Dec 16 10:20:27 CST 1998 Shawn T. Amundson <amundson@gtk.org>
 
        * Released GTK+ 1.1.8
index e291293023ae5573e7adb4e30894931450465139..03789eac78f38cccff36548d2a698ccc35c2aa7a 100644 (file)
@@ -1,3 +1,13 @@
+Wed Dec 16 13:06:17 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main
+       thread lock back to GDK - we need it there for locking
+       when translating events. Rename things appropriately.
+
+Wed Dec 16 11:44:21 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo.
+
 Wed Dec 16 10:20:27 CST 1998 Shawn T. Amundson <amundson@gtk.org>
 
        * Released GTK+ 1.1.8
index e291293023ae5573e7adb4e30894931450465139..03789eac78f38cccff36548d2a698ccc35c2aa7a 100644 (file)
@@ -1,3 +1,13 @@
+Wed Dec 16 13:06:17 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main
+       thread lock back to GDK - we need it there for locking
+       when translating events. Rename things appropriately.
+
+Wed Dec 16 11:44:21 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo.
+
 Wed Dec 16 10:20:27 CST 1998 Shawn T. Amundson <amundson@gtk.org>
 
        * Released GTK+ 1.1.8
index e291293023ae5573e7adb4e30894931450465139..03789eac78f38cccff36548d2a698ccc35c2aa7a 100644 (file)
@@ -1,3 +1,13 @@
+Wed Dec 16 13:06:17 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main
+       thread lock back to GDK - we need it there for locking
+       when translating events. Rename things appropriately.
+
+Wed Dec 16 11:44:21 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo.
+
 Wed Dec 16 10:20:27 CST 1998 Shawn T. Amundson <amundson@gtk.org>
 
        * Released GTK+ 1.1.8
index 97c2a8c229bff8f1afa1eff48cd0a656ca9df31f..e0954808397444f6644a2801a5a2e6da4d167b49 100644 (file)
--- a/gdk/gdk.c
+++ b/gdk/gdk.c
@@ -149,6 +149,9 @@ gdk_init (int        *argc,
   if (gdk_initialized)
     return;
   
+  if (g_thread_supported ())
+    gdk_threads_mutex = g_mutex_new ();
+  
   if (argc && argv)
     {
       argc_orig = *argc;
@@ -1265,3 +1268,16 @@ gdk_keyval_is_lower (guint         keyval)
     }
   return TRUE;
 }
+
+void
+gdk_threads_enter ()
+{
+  GDK_THREADS_ENTER ();
+}
+
+void
+gdk_threads_leave ()
+{
+  GDK_THREADS_LEAVE ();
+}
+
index f21cede9cb2cdb7bc0423f3dc85d690bb3db7edd..48cc2acecfb16c98524521b93540bcb4ba0e2088 100644 (file)
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -959,6 +959,27 @@ guint    gdk_keyval_to_lower                 (guint        keyval);
 gboolean gdk_keyval_is_upper             (guint        keyval);
 gboolean gdk_keyval_is_lower             (guint        keyval);
 
+/* Threading
+ */
+
+extern GMutex *gdk_threads_mutex;
+
+void     gdk_threads_enter                (void);
+void     gdk_threads_leave                (void);
+
+#ifdef G_THREADS_ENABLED
+#  define GDK_THREADS_ENTER()  G_STMT_START {  \
+      if (gdk_threads_mutex)                   \
+        g_mutex_lock (gdk_threads_mutex);      \
+   } G_STMT_END
+#  define GDK_THREADS_LEAVE()  G_STMT_START {  \
+      if (gdk_threads_mutex)                   \
+        g_mutex_unlock (gdk_threads_mutex);    \
+   } G_STMT_END
+#else  /* !G_THREADS_ENABLED */
+#  define GDK_THREADS_ENTER()
+#  define GDK_THREADS_LEAVE()
+#endif /* !G_THREADS_ENABLED */
 
 #include <gdk/gdkrgb.h>
 
index 8ddf913da7be88504fc049694e342a5fe93d543c..1c1ebc0ad4bd94ddbe588006cdb7b57c8ea30025 100644 (file)
@@ -1891,20 +1891,36 @@ gdk_event_prepare (gpointer  source_data,
                   GTimeVal *current_time,
                   gint     *timeout)
 {
+  gboolean retval;
+  
+  GDK_THREADS_ENTER ();
+
   *timeout = -1;
 
   gdk_events_queue ();
-  return (queued_events || putback_events);
+  retval = (queued_events || putback_events);
+
+  GDK_THREADS_LEAVE ();
+
+  return retval;
 }
 
 static gboolean  
 gdk_event_check   (gpointer  source_data,
                   GTimeVal *current_time)
 {
+  gboolean retval;
+  
+  GDK_THREADS_ENTER ();
+
   if (event_poll_fd.revents & G_IO_IN)
       gdk_events_queue ();
 
-  return (queued_events || putback_events);
+  retval = (queued_events || putback_events);
+
+  GDK_THREADS_LEAVE ();
+
+  return retval;
 }
 
 static GdkEvent *
@@ -1942,7 +1958,11 @@ gdk_event_dispatch (gpointer  source_data,
                    GTimeVal *current_time,
                    gpointer  user_data)
 {
-  GdkEvent *event = gdk_event_unqueue();
+  GdkEvent *event;
+  GDK_THREADS_ENTER ();
+
+  event = gdk_event_unqueue();
 
   if (event)
     {
@@ -1952,6 +1972,8 @@ gdk_event_dispatch (gpointer  source_data,
       gdk_event_free (event);
     }
   
+  GDK_THREADS_LEAVE ();
+
   return TRUE;
 }
 
index d0832767c782512312c0787c802d8ea76fc2dde0..eabd107db43734bcefa78baee0a12c5489d5a716 100644 (file)
@@ -64,6 +64,8 @@ GdkWindowPrivate *gdk_xgrab_window = NULL;  /* Window that currently holds the
                                             *  x pointer grab
                                             */
 
+GMutex *gdk_threads_mutex = NULL;          /* Global GDK lock */
+
 #ifdef USE_XIM
 GdkICPrivate *gdk_xim_ic;              /* currently using IC */
 GdkWindow *gdk_xim_window;             /* currently using Window */
index 8ddf913da7be88504fc049694e342a5fe93d543c..1c1ebc0ad4bd94ddbe588006cdb7b57c8ea30025 100644 (file)
@@ -1891,20 +1891,36 @@ gdk_event_prepare (gpointer  source_data,
                   GTimeVal *current_time,
                   gint     *timeout)
 {
+  gboolean retval;
+  
+  GDK_THREADS_ENTER ();
+
   *timeout = -1;
 
   gdk_events_queue ();
-  return (queued_events || putback_events);
+  retval = (queued_events || putback_events);
+
+  GDK_THREADS_LEAVE ();
+
+  return retval;
 }
 
 static gboolean  
 gdk_event_check   (gpointer  source_data,
                   GTimeVal *current_time)
 {
+  gboolean retval;
+  
+  GDK_THREADS_ENTER ();
+
   if (event_poll_fd.revents & G_IO_IN)
       gdk_events_queue ();
 
-  return (queued_events || putback_events);
+  retval = (queued_events || putback_events);
+
+  GDK_THREADS_LEAVE ();
+
+  return retval;
 }
 
 static GdkEvent *
@@ -1942,7 +1958,11 @@ gdk_event_dispatch (gpointer  source_data,
                    GTimeVal *current_time,
                    gpointer  user_data)
 {
-  GdkEvent *event = gdk_event_unqueue();
+  GdkEvent *event;
+  GDK_THREADS_ENTER ();
+
+  event = gdk_event_unqueue();
 
   if (event)
     {
@@ -1952,6 +1972,8 @@ gdk_event_dispatch (gpointer  source_data,
       gdk_event_free (event);
     }
   
+  GDK_THREADS_LEAVE ();
+
   return TRUE;
 }
 
index d0832767c782512312c0787c802d8ea76fc2dde0..eabd107db43734bcefa78baee0a12c5489d5a716 100644 (file)
@@ -64,6 +64,8 @@ GdkWindowPrivate *gdk_xgrab_window = NULL;  /* Window that currently holds the
                                             *  x pointer grab
                                             */
 
+GMutex *gdk_threads_mutex = NULL;          /* Global GDK lock */
+
 #ifdef USE_XIM
 GdkICPrivate *gdk_xim_ic;              /* currently using IC */
 GdkWindow *gdk_xim_window;             /* currently using Window */
index 97c2a8c229bff8f1afa1eff48cd0a656ca9df31f..e0954808397444f6644a2801a5a2e6da4d167b49 100644 (file)
@@ -149,6 +149,9 @@ gdk_init (int        *argc,
   if (gdk_initialized)
     return;
   
+  if (g_thread_supported ())
+    gdk_threads_mutex = g_mutex_new ();
+  
   if (argc && argv)
     {
       argc_orig = *argc;
@@ -1265,3 +1268,16 @@ gdk_keyval_is_lower (guint         keyval)
     }
   return TRUE;
 }
+
+void
+gdk_threads_enter ()
+{
+  GDK_THREADS_ENTER ();
+}
+
+void
+gdk_threads_leave ()
+{
+  GDK_THREADS_LEAVE ();
+}
+
index 407e283f243b69449aef5392fb8290ae24f7c1a6..2b3445a5f2abce714574219fe8a128fc79c43894 100644 (file)
@@ -24,7 +24,6 @@
 #include "gtkmain.h"
 #include "gtksignal.h"
 #include "gtkaccellabel.h"
-#include "gtkprivate.h"
 
 
 enum {
@@ -354,9 +353,9 @@ gtk_accel_label_refetch_idle (GtkAccelLabel *accel_label)
 {
   gboolean retval;
 
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
   retval = gtk_accel_label_refetch (accel_label);
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
 
   return retval;
 }
index 718eaec82699300bbc5fd0ed69693ab3022bbb42..6b88a7abfd9ee789ab6f7d3bf45fed5a2def81b4 100644 (file)
@@ -24,7 +24,6 @@
 #include "gtkclist.h"
 #include "gtkbindings.h"
 #include "gtkdnd.h"
-#include "gtkprivate.h"
 #include <gdk/gdkx.h>
 #include <gdk/gdkkeysyms.h>
 
@@ -7014,7 +7013,7 @@ horizontal_timeout (GtkCList *clist)
   GdkEventMotion event;
   GdkModifierType mask;
 
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
 
   clist->htimer = 0;
   gdk_window_get_pointer (clist->clist_window, &x, &y, &mask);
@@ -7026,7 +7025,7 @@ horizontal_timeout (GtkCList *clist)
 
   gtk_clist_motion (GTK_WIDGET (clist), &event);
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
   
   return FALSE;
 }
@@ -7038,7 +7037,7 @@ vertical_timeout (GtkCList *clist)
   GdkEventMotion event;
   GdkModifierType mask;
 
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
 
   clist->vtimer = 0;
   gdk_window_get_pointer (clist->clist_window, &x, &y, &mask);
@@ -7050,7 +7049,7 @@ vertical_timeout (GtkCList *clist)
 
   gtk_clist_motion (GTK_WIDGET (clist), &event);
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
 
   return FALSE;
 }
index 23a621a2780fd4426b6580c73947f3924daf8a90..eb660b9d4746f9936d9d796c9a6f4b468aa84192 100644 (file)
@@ -24,7 +24,6 @@
 #include "gtkwindow.h"
 #include "gtkhbbox.h"
 #include "gtkdnd.h"
-#include "gtkprivate.h"
 #include "gtkselection.h"
 
 /*
@@ -1028,13 +1027,13 @@ gtk_color_selection_value_timeout (GtkColorSelection *colorsel)
 {
   gint x, y;
   
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
   
   gdk_window_get_pointer (colorsel->value_area->window, &x, &y, NULL);
   gtk_color_selection_update_value (colorsel, y);
   gtk_color_selection_color_changed (colorsel);
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
 
   return (TRUE);
 }
index c9302b43edee593bf44cad98e02287954106a932..8d29d206f727e297d77524b4bc8bedd78d606d97 100644 (file)
@@ -28,7 +28,6 @@
 #include "gtklistitem.h"
 #include "gtkscrolledwindow.h"
 #include "gtkmain.h"
-#include "gtkprivate.h"
 #include "gtksignal.h"
 #include "gtkwindow.h"
 #include "gdk/gdkkeysyms.h"
@@ -237,9 +236,9 @@ gtk_combo_focus_idle (GtkCombo * combo)
 {
   if (combo)
     {
-      GTK_THREADS_ENTER ();
+      GDK_THREADS_ENTER ();
       gtk_widget_grab_focus (combo->entry);
-      GTK_THREADS_LEAVE ();
+      GDK_THREADS_LEAVE ();
     }
   return FALSE;
 }
index 31eb7816dc4f1a67573b56fc4df19328afbe549c..22b67db5603ce1665ca12c9253698476a9ad0116 100644 (file)
@@ -811,7 +811,7 @@ gtk_container_get_resize_container (GtkContainer *container)
 static gboolean
 gtk_container_idle_sizer (gpointer data)
 {
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
 
   /* we may be invoked with a container_resize_queue of NULL, because
    * queue_resize could have been adding an extra idle function while
@@ -833,7 +833,7 @@ gtk_container_idle_sizer (gpointer data)
       gtk_container_check_resize (GTK_CONTAINER (widget));
     }
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
   
   return FALSE;
 }
index 9dcb375c7e839f89d1eb5f07079575f4c75e674f..877322c668c5449eaaf2c41a301b13a71190d7e7 100644 (file)
@@ -22,7 +22,6 @@
 #include "gtkdnd.h"
 #include "gtkinvisible.h"
 #include "gtkmain.h"
-#include "gtkprivate.h"
 #include "gtksignal.h"
 #include "gtkwindow.h"
 
@@ -2272,7 +2271,7 @@ gtk_drag_anim_timeout (gpointer data)
   gint x, y;
   gboolean retval;
 
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
 
   if (anim->step == anim->n_steps)
     {
@@ -2295,7 +2294,7 @@ gtk_drag_anim_timeout (gpointer data)
       retval = TRUE;
     }
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
 
   return retval;
 }
index 39a01313be517744fc7fccb5d4687a2bb4200e51..ca5a3728ed464512aa6967286d8116939d15c416 100644 (file)
@@ -22,7 +22,6 @@
 #include "gdk/gdki18n.h"
 #include "gtkentry.h"
 #include "gtkmain.h"
-#include "gtkprivate.h"
 #include "gtkselection.h"
 #include "gtksignal.h"
 #include "gtkstyle.h"
@@ -1481,13 +1480,13 @@ gtk_entry_timer (gpointer data)
 {
   GtkEntry *entry;
 
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
 
   entry = GTK_ENTRY (data);
   entry->timer = 0;
   gtk_entry_draw_text (entry);
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
 
   return FALSE;
 }
index ac961d87c92a34b5b97b46b33f9c41d126e90e4c..e2616f1dde08b57a552f847392b4f784b4c9e7cb 100644 (file)
@@ -508,6 +508,9 @@ gtk_layout_unrealize (GtkWidget *widget)
        
       tmp_list = tmp_list->next;
     }
+
+  if (GTK_WIDGET_CLASS (parent_class)->unrealize)
+    (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget);
 }
 
 static void 
index 32856d73a04a7c9508840fad1bf92623a0b9d359..d0049ec7e678fe39540ee1ef356b6009e61bc693 100644 (file)
@@ -19,7 +19,6 @@
 #include "gtklist.h"
 #include "gtklistitem.h"
 #include "gtkmain.h"
-#include "gtkprivate.h"
 #include "gtksignal.h"
 #include "gtklabel.h"
 
@@ -2309,7 +2308,7 @@ gtk_list_horizontal_timeout (GtkWidget *list)
   GdkEventMotion event;
   GdkModifierType mask;
 
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
 
   GTK_LIST (list)->htimer = 0;
   gdk_window_get_pointer (list->window, &x, &y, &mask);
@@ -2321,7 +2320,7 @@ gtk_list_horizontal_timeout (GtkWidget *list)
 
   gtk_list_motion_notify (list, &event);
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
 
   return FALSE;
 }
@@ -2334,7 +2333,7 @@ gtk_list_vertical_timeout (GtkWidget *list)
   GdkEventMotion event;
   GdkModifierType mask;
 
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
 
   GTK_LIST (list)->vtimer = 0;
   gdk_window_get_pointer (list->window, &x, &y, &mask);
@@ -2346,7 +2345,7 @@ gtk_list_vertical_timeout (GtkWidget *list)
 
   gtk_list_motion_notify (list, &event);
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
 
   return FALSE;
 }
index 949aab3c4749df4fee7d95b90d88af2178fced9d..ff595d51f035040c98c5bd6837f6b94876f9ac2e 100644 (file)
@@ -133,8 +133,6 @@ static GdkColormap *gtk_colormap;      /* The colormap to be used in creating new
 
 guint gtk_debug_flags = 0;                /* Global GTK debug flag */
 
-GMutex *gtk_threads_mutex = NULL;          /* Global GTK lock */
-
 #ifdef G_ENABLE_DEBUG
 static const GDebugKey gtk_debug_keys[] = {
   {"objects", GTK_DEBUG_OBJECTS},
@@ -185,9 +183,6 @@ gtk_init (int        *argc,
    * single threaded until gtk_init().
    */
 
-  if (g_thread_supported ())
-    gtk_threads_mutex = g_mutex_new ();
-  
 #if    0
   g_set_error_handler (gtk_error);
   g_set_warning_handler (gtk_warning);
@@ -459,9 +454,9 @@ gtk_main (void)
   loop = g_main_new ();
   main_loops = g_slist_prepend (main_loops, loop);
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
   g_main_run (loop);
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
   
   g_main_destroy (loop);
 
@@ -1248,18 +1243,6 @@ gtk_propagate_event (GtkWidget *widget,
     }
 }
 
-void
-gtk_threads_enter ()
-{
-  GTK_THREADS_ENTER ();
-}
-
-void
-gtk_threads_leave ()
-{
-  GTK_THREADS_LEAVE ();
-}
-
 #if 0
 static void
 gtk_error (gchar *str)
index 8856716a59fde21352ccfb8756fa9edbc9ad5faf..69dda5a9dbc80775e46d17fb20a2b7a9ad59e142 100644 (file)
@@ -131,9 +131,6 @@ void           gtk_key_snooper_remove  (guint           snooper_handler_id);
 GdkEvent*  gtk_get_current_event   (void);
 GtkWidget* gtk_get_event_widget           (GdkEvent       *event);
 
-void       gtk_threads_enter       (void);
-void       gtk_threads_leave       (void);
-
 /* deprecated */
 guint     gtk_idle_add_interp     (GtkCallbackMarshal marshal,
                                    gpointer           data,
index 1af6d8e1749d8740faeeb55ebfb90a1ca06a9abf..1431210670663a5b3835aa398252ca38daea4ded 100644 (file)
@@ -19,7 +19,6 @@
 #include <string.h>
 #include "gtkaccellabel.h"
 #include "gtkmain.h"
-#include "gtkprivate.h"
 #include "gtkmenu.h"
 #include "gtkmenubar.h"
 #include "gtkmenuitem.h"
@@ -621,7 +620,7 @@ gtk_menu_item_select_timeout (gpointer data)
 {
   GtkMenuItem *menu_item;
 
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
 
   menu_item = GTK_MENU_ITEM (data);
   menu_item->timer = 0;
@@ -644,7 +643,7 @@ gtk_menu_item_select_timeout (gpointer data)
        gtk_menu_shell_select_item (submenu, submenu->children->data);
     }
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
 
   return FALSE;
 }
index f8f30549d2f87e89fbebc67c015210d1e3f0fdcd..b3a2210ca016896adcc0987940a7eed7317133b4 100644 (file)
@@ -19,7 +19,6 @@
 #include "gtknotebook.h"
 #include "gtksignal.h"
 #include "gtkmain.h"
-#include "gtkprivate.h"
 #include "gtkmenu.h"
 #include "gtkmenuitem.h"
 #include "gtklabel.h"
@@ -1837,7 +1836,7 @@ gtk_notebook_timer (GtkNotebook *notebook)
 {
   gboolean retval = FALSE;
 
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
   
   if (notebook->timer)
     {
@@ -1866,7 +1865,7 @@ gtk_notebook_timer (GtkNotebook *notebook)
        retval = TRUE;
     }
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
 
   return retval;
 }
index 9c22b1019e149aea13129a2e247c317f6820630b..a71cd73161bf0900f155b4713ec9956369deb689 100644 (file)
@@ -60,25 +60,6 @@ typedef enum
 #define GTK_PRIVATE_SET_FLAG(wid,flag)    G_STMT_START{ (GTK_PRIVATE_FLAGS (wid) |= (PRIVATE_ ## flag)); }G_STMT_END
 #define GTK_PRIVATE_UNSET_FLAG(wid,flag)  G_STMT_START{ (GTK_PRIVATE_FLAGS (wid) &= ~(PRIVATE_ ## flag)); }G_STMT_END
 
-/* Threading functions */
-
-extern GMutex *gtk_threads_mutex;
-
-#ifdef G_THREADS_ENABLED
-#  define GTK_THREADS_ENTER()  G_STMT_START {  \
-      if (gtk_threads_mutex)                   \
-        g_mutex_lock (gtk_threads_mutex);      \
-   } G_STMT_END
-#  define GTK_THREADS_LEAVE()  G_STMT_START {  \
-      if (gtk_threads_mutex)                   \
-        g_mutex_unlock (gtk_threads_mutex);    \
-   } G_STMT_END
-#else  /* !G_THREADS_ENABLED */
-#  define GTK_THREADS_ENTER()
-#  define GTK_THREADS_LEAVE()
-#endif /* !G_THREADS_ENABLED */
-
-
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
index e75d7046a496536444372b8bd9ac92470c26b9eb..b81d213ed030066011a8b1c057d6cf23d212db4f 100644 (file)
@@ -19,7 +19,6 @@
 #include <stdio.h>
 #include "gtkmain.h"
 #include "gtkrange.h"
-#include "gtkprivate.h"
 #include "gtksignal.h"
 
 
@@ -815,12 +814,12 @@ gtk_range_expose (GtkWidget      *widget,
            (event->area.x + event->area.width <= 
             widget->allocation.width - xt) &&
            (event->area.y + event->area.height <= 
-            widget->allocation.height - xt)))
+            widget->allocation.height - yt)))
        gtk_range_draw_trough (range);
     }
   else if (event->window == widget->window)
     {
-      gtk_range_draw_background (range);
+      gtk_range_draw_background (range); 
     }
   else if (event->window == range->slider)
     {
@@ -1237,7 +1236,7 @@ gtk_real_range_timer (GtkRange *range)
 {
   gint return_val;
 
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
 
   return_val = TRUE;
   if (range->click_child == RANGE_CLASS (range)->slider)
@@ -1259,7 +1258,7 @@ gtk_real_range_timer (GtkRange *range)
                                            (gpointer) range);
          else
            {
-             GTK_THREADS_LEAVE ();
+             GDK_THREADS_LEAVE ();
              return FALSE;
            }
          range->need_timer = FALSE;
@@ -1287,7 +1286,7 @@ gtk_real_range_timer (GtkRange *range)
        return_val = gtk_range_scroll (range, -1);
     }
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
 
   return return_val;
 }
index 06cb5ceac6d3d6454ad55d0b7d508318e099e603..2aa6c8cbdbda18554245880c0400a8ffe6c6a0cb 100644 (file)
@@ -49,7 +49,6 @@
 #include <gdk/gdkx.h>
 /* we need this for gdk_window_lookup() */
 #include "gtkmain.h"
-#include "gtkprivate.h"
 #include "gtkselection.h"
 #include "gtksignal.h"
 
@@ -1092,7 +1091,7 @@ gtk_selection_incr_timeout (GtkIncrInfo *info)
   GList *tmp_list;
   gboolean retval;
 
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
   
   /* Determine if retrieval has finished by checking if it still in
      list of pending retrievals */
@@ -1129,7 +1128,7 @@ gtk_selection_incr_timeout (GtkIncrInfo *info)
       retval = TRUE;           /* timeout will happen again */
     }
   
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
 
   return retval;
 }
@@ -1334,7 +1333,7 @@ gtk_selection_retrieval_timeout (GtkRetrievalInfo *info)
   GList *tmp_list;
   gboolean retval;
 
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
   
   /* Determine if retrieval has finished by checking if it still in
      list of pending retrievals */
@@ -1369,7 +1368,7 @@ gtk_selection_retrieval_timeout (GtkRetrievalInfo *info)
       retval =  TRUE;          /* timeout will happen again */
     }
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
 
   return retval;
 }
index d3d4ef6b801eac64826abc1b4f5f5c4f29f4810e..54162c5f07e4d7443b400942dc60e7f99703ed9e 100644 (file)
@@ -28,7 +28,6 @@
 #include "gdk/gdkkeysyms.h"
 #include "gtkspinbutton.h"
 #include "gtkmain.h"
-#include "gtkprivate.h"
 #include "gtksignal.h"
 
 
@@ -910,7 +909,7 @@ gtk_spin_button_timer (GtkSpinButton *spin_button)
 {
   gboolean retval = FALSE;
   
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
 
   if (spin_button->timer)
     {
@@ -943,7 +942,7 @@ gtk_spin_button_timer (GtkSpinButton *spin_button)
        }
     }
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
 
   return retval;
 }
index 3765fdc460a66c0f0a805b844f92af955281ea39..8d737198a2ad914914e7cdacafb0df0c6433893c 100644 (file)
@@ -23,7 +23,6 @@
 #include "gtkthemes.h"
 #include "gtkwidget.h"
 #include "gtkthemes.h"
-#include "gtkprivate.h"
 #include "gdk/gdkprivate.h"
 
 
index 0a629e0b151c5c58a458c690a51fa34f56a73903..78dffac1b6263ba67911e07de4c5a07479c57d87 100644 (file)
@@ -21,7 +21,6 @@
 #include "gdk/gdkkeysyms.h"
 #include "gdk/gdki18n.h"
 #include "gtkmain.h"
-#include "gtkprivate.h"
 #include "gtkselection.h"
 #include "gtksignal.h"
 #include "gtktext.h"
@@ -1701,7 +1700,7 @@ gtk_text_scroll_timeout (gpointer data)
   gint x, y;
   GdkModifierType mask;
   
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
 
   text = GTK_TEXT (data);
   
@@ -1718,7 +1717,7 @@ gtk_text_scroll_timeout (gpointer data)
       gtk_text_motion_notify (GTK_WIDGET (text), &event);
     }
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
   
   return FALSE;
 }
index c0510d0461bce8badaeebc4a9a027c720ab55ae4..8f8eeda617050a4283011a5d6c5c759672d0494d 100644 (file)
@@ -26,7 +26,6 @@
 #include "gtkselection.h"
 #include "gtksignal.h"
 #include "gtkwidget.h"
-#include "gtkprivate.h"
 #include "config.h"
 
 typedef struct _GtkThemeEnginePrivate GtkThemeEnginePrivate;
index 41bb12d71242d0878bdd83a6467803419c3b2fa9..03d99774f7eb74aaa60d5b74dc080fcc770d8adb 100644 (file)
@@ -21,7 +21,6 @@
 #include <stdio.h>
 
 #include "gtkmain.h"
-#include "gtkprivate.h"
 #include "gtkwidget.h"
 #include "gtkwindow.h"
 #include "gtksignal.h"
@@ -495,13 +494,13 @@ gtk_tooltips_timeout (gpointer data)
 {
   GtkTooltips *tooltips = (GtkTooltips *) data;
 
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
   
   if (tooltips->active_tips_data != NULL &&
       GTK_WIDGET_DRAWABLE (tooltips->active_tips_data->widget))
     gtk_tooltips_draw_tips (tooltips);
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
 
   return FALSE;
 }
index 449beed6eb14e72d1a49d6eabe1442960f46b235..5f6f4cab0e0bdd7864de84f9315170e452bfc5cf 100644 (file)
@@ -1958,7 +1958,7 @@ gtk_widget_idle_draw (gpointer data)
   GSList *draw_data_list;
   GtkWidget *widget;
   
-  GTK_THREADS_ENTER ();
+  GDK_THREADS_ENTER ();
   
   /* Translate all draw requests to be allocation-relative */
   widget_list = gtk_widget_redraw_queue;
@@ -2141,7 +2141,7 @@ gtk_widget_idle_draw (gpointer data)
   g_slist_free (gtk_widget_redraw_queue);
   gtk_widget_redraw_queue = NULL;
 
-  GTK_THREADS_LEAVE ();
+  GDK_THREADS_LEAVE ();
   
   return FALSE;
 }
index 999c5e0d4cbc7b62e3ea262308af2a4961a09598..e330a74a5eee08993d6ca92a3625fef463f78ce4 100644 (file)
@@ -53,7 +53,7 @@ counter (void *data)
   GtkWidget *label;
   GtkWidget *button;
 
-  gtk_threads_enter();
+  gdk_threads_enter();
 
   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   gtk_window_set_title (GTK_WINDOW (window), name);
@@ -83,7 +83,7 @@ counter (void *data)
     {
       sprintf(buffer, "%d", counter);
       gtk_label_set_text (GTK_LABEL (label), buffer);
-      gtk_threads_leave();
+      gdk_threads_leave();
       counter++;
       /* Give someone else a chance to get the lock next time.
        * Only necessary because we don't do anything else while
@@ -91,7 +91,7 @@ counter (void *data)
        */
       sleep(0);
       
-      gtk_threads_enter();
+      gdk_threads_enter();
     }
 
   gtk_widget_destroy (window);
@@ -102,7 +102,7 @@ counter (void *data)
     gtk_main_quit();
   pthread_mutex_unlock (&nthreads_mutex);
 
-  gtk_threads_leave();
+  gdk_threads_leave();
 
   return NULL;
 }
@@ -115,7 +115,7 @@ main (int argc, char **argv)
 #ifdef USE_PTHREADS
   int i;
 
-  if (!gtk_threads_init())
+  if (!gdk_threads_init())
     {
       fprintf(stderr, "Could not initialize threads\n");
       exit(1);
@@ -141,9 +141,9 @@ main (int argc, char **argv)
 
   pthread_mutex_unlock (&nthreads_mutex);
 
-  gtk_threads_enter();
+  gdk_threads_enter();
   gtk_main();
-  gtk_threads_leave();
+  gdk_threads_leave();
   fprintf(stderr, "Done\n");
 #else /* !USE_PTHREADS */
   fprintf (stderr, "GTK+ not compiled with threads support\n");
index 999c5e0d4cbc7b62e3ea262308af2a4961a09598..e330a74a5eee08993d6ca92a3625fef463f78ce4 100644 (file)
@@ -53,7 +53,7 @@ counter (void *data)
   GtkWidget *label;
   GtkWidget *button;
 
-  gtk_threads_enter();
+  gdk_threads_enter();
 
   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   gtk_window_set_title (GTK_WINDOW (window), name);
@@ -83,7 +83,7 @@ counter (void *data)
     {
       sprintf(buffer, "%d", counter);
       gtk_label_set_text (GTK_LABEL (label), buffer);
-      gtk_threads_leave();
+      gdk_threads_leave();
       counter++;
       /* Give someone else a chance to get the lock next time.
        * Only necessary because we don't do anything else while
@@ -91,7 +91,7 @@ counter (void *data)
        */
       sleep(0);
       
-      gtk_threads_enter();
+      gdk_threads_enter();
     }
 
   gtk_widget_destroy (window);
@@ -102,7 +102,7 @@ counter (void *data)
     gtk_main_quit();
   pthread_mutex_unlock (&nthreads_mutex);
 
-  gtk_threads_leave();
+  gdk_threads_leave();
 
   return NULL;
 }
@@ -115,7 +115,7 @@ main (int argc, char **argv)
 #ifdef USE_PTHREADS
   int i;
 
-  if (!gtk_threads_init())
+  if (!gdk_threads_init())
     {
       fprintf(stderr, "Could not initialize threads\n");
       exit(1);
@@ -141,9 +141,9 @@ main (int argc, char **argv)
 
   pthread_mutex_unlock (&nthreads_mutex);
 
-  gtk_threads_enter();
+  gdk_threads_enter();
   gtk_main();
-  gtk_threads_leave();
+  gdk_threads_leave();
   fprintf(stderr, "Done\n");
 #else /* !USE_PTHREADS */
   fprintf (stderr, "GTK+ not compiled with threads support\n");